# -*- coding:utf-8 -*-
# title           :
# description     :
# author          :Python超人
# date            :2023-09-01
# link            :https://gitcode.net/pythoncr/
# python_version  :3.8
# ==============================================================================
import math

import win32con
import win32gui
import win32api


def get_win_pos(window_name="win10_anaconda3 - VMware Workstation", class_name='MKSEmbedded'):
    phwnd = win32gui.FindWindow(None, window_name)
    controls = []

    def callback(hwnd, controls):
        controls.append(hwnd)

    win32gui.EnumChildWindows(phwnd, callback, controls)

    for control in controls:
        cls_name = win32gui.GetClassName(control)
        if cls_name == class_name:
            title = win32gui.GetWindowText(control)
            rect = win32gui.GetWindowRect(control)
            if rect[2] - rect[0] > 800 and rect[3] - rect[1] > 500:
                return title, rect

    return None, None


def get_ev_win_pos():
    """
    设置 EV录屏 窗口的位置
    @return:
    """
    # 获取 VMware 窗口 的位置
    title, rect = get_win_pos()
    print("VMware 窗口", rect)

    scale = 1.25

    x, y, w, h = (math.ceil(rect[0] * scale),
                  math.ceil(rect[1] * scale),
                  math.floor(rect[2] * scale - rect[0] * scale),
                  math.floor(rect[3] * scale - rect[1] * scale))

    area_infos = f"""# EV录屏 ({x}, {y}, {w}, {h})
Area.rect.h : {h}
Area.rect.w : {w}
Area.rect.x : {x}
Area.rect.y : {y}
    """

    print(area_infos)


if __name__ == '__main__':
    # 使用方法：
    # 1、运行 win_pos.py，找到 EV录屏 区域 -> EV录屏 (400, 194, 1280, 720)
    get_ev_win_pos()
    # 2、打开 C:\Users\Administrator\AppData\Local\EVCapture\conf\Admin.conf
    # 修改：
    # Area.rect.h : 720
    # Area.rect.w : 1280
    # Area.rect.x : 400
    # Area.rect.y : 194
